package com.itxx.examination2;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.time.LocalDateTime;
import java.util.UUID;

public class ExaminationServer {
    //需求：编写客户端和服务器端程序，客户端用于上传图片，服务器端用于接收文件，文件上传成功后，给客户端一个反馈：文件上传成功。
    //
    //注意：
    //
    //服务器端采用多线程实现，并且要解决文件名冲突问题。
    //
    //客户端控制台内容
    public static void main(String[] args) throws IOException {


        ServerSocket serverSocket = new ServerSocket(45433);
        Socket socket = serverSocket.accept();
        //创建缓冲字节流接受数据
        BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\" + UUID.randomUUID().toString().replace("-", "") + ".jpg"));
        int len;
        byte[] bytes = new byte[1024];
        while((len=bis.read(bytes))!=-1){
            bos.write(bytes, 0, len);
            bos.flush();
        }
        String Feedback = "上传完毕";
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        bw.write("文件在"+ LocalDateTime.now()+"上传完毕");
        bw.flush();

        socket.close();
        bw.close();
        bos.close();

    }
}
